<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>dp14txss: xdptxss_kcu105_dp14.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">dp14txss
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xdptxss__kcu105__dp14_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">xdptxss_kcu105_dp14.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>MODIFICATION HISTORY: </p>
<p>Ver Who Date Changes </p>
<hr/>
<p> 1.0 KI 12/09/17 Initial release. 1.1 ND 2/14/19 mcdp related function call now need dprxss instance address instead of base address as first parameter 1.2 ND 09/02/20 Added support for New Av patgen. Added support for CRC for format 422 for pixel width engine and PPC changes. 1.3 ND 12/26/20 Updated code for YUV422 related pt colorshift issue. Added support for retraining on color format change. 1.4 ND 04/03/21 Moved all global variables declaration from .h to .c files due to gcc compiler compilation error. 1.5 KU 06/17/21 Added support for VCU118 1.6 ND 02/01/22 Corrected XDP_RX_AUDIO_INFO_DATA to XDP_RX_AUDIO_EXT_DATA in <a class="el" href="dppt_8h.html#a5fce4aaa5fae17e664cd573bef9c2be0" title="This function is the callback function for Generic Packet Handling of 32-Bytes payload. ">DpRxSs_ExtPacketHandler()</a> 1.7 ND 07/21/22 Updated the LMK03318 address. 1.8 ND 08/26/22 Address updation for DDR_MEMORY macro. Added DELAY macro to increase delay in <a class="el" href="group___i_d_t__8_t49_n24x.html#ga0c56d8545c64ae78a3423b7ce782676f" title="This function calculates and sets the IDT 8TN49N24x device with the given clock configuration. ">IDT_8T49N24x_SetClock()</a> if encountering iic race condition. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a890c2e771e74249226516be4a096a2cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a890c2e771e74249226516be4a096a2cd">DpPt_SetupIntrSystem</a> ()</td></tr>
<tr class="memdesc:a890c2e771e74249226516be4a096a2cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is sets up Interrupt system and start it.  <a href="#a890c2e771e74249226516be4a096a2cd">More...</a><br/></td></tr>
<tr class="separator:a890c2e771e74249226516be4a096a2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40dd23eb6e5ea766a4f13761eebbd773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a40dd23eb6e5ea766a4f13761eebbd773">hpd_con</a> ()</td></tr>
<tr class="memdesc:a40dd23eb6e5ea766a4f13761eebbd773"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core.  <a href="#a40dd23eb6e5ea766a4f13761eebbd773">More...</a><br/></td></tr>
<tr class="separator:a40dd23eb6e5ea766a4f13761eebbd773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a447f6616df8f90d9d99ca9f8ff9d3f9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a447f6616df8f90d9d99ca9f8ff9d3f9d">DpPt_HpdEventHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a447f6616df8f90d9d99ca9f8ff9d3f9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes care HPD event.  <a href="#a447f6616df8f90d9d99ca9f8ff9d3f9d">More...</a><br/></td></tr>
<tr class="separator:a447f6616df8f90d9d99ca9f8ff9d3f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac521dd8412dd53d968e0cbe056d7dbb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#ac521dd8412dd53d968e0cbe056d7dbb9">hpd_pulse_con</a> ()</td></tr>
<tr class="memdesc:ac521dd8412dd53d968e0cbe056d7dbb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core.  <a href="#ac521dd8412dd53d968e0cbe056d7dbb9">More...</a><br/></td></tr>
<tr class="separator:ac521dd8412dd53d968e0cbe056d7dbb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e50f6016fe9f36c15696a53f9cbf5fa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a9e50f6016fe9f36c15696a53f9cbf5fa">DpPt_HpdPulseHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a9e50f6016fe9f36c15696a53f9cbf5fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes care HPD pulse interrupt.  <a href="#a9e50f6016fe9f36c15696a53f9cbf5fa">More...</a><br/></td></tr>
<tr class="separator:a9e50f6016fe9f36c15696a53f9cbf5fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52482b484f3223853225073ee4446d1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a52482b484f3223853225073ee4446d1e">DpPt_LinkrateChgHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a52482b484f3223853225073ee4446d1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets link line rate.  <a href="#a52482b484f3223853225073ee4446d1e">More...</a><br/></td></tr>
<tr class="separator:a52482b484f3223853225073ee4446d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d15e19beea7bc6ae8407543fd333bb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a5d15e19beea7bc6ae8407543fd333bb9">DpPt_CustomWaitUs</a> (void *InstancePtr, u32 MicroSeconds)</td></tr>
<tr class="memdesc:a5d15e19beea7bc6ae8407543fd333bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called when DisplayPort TX Subsystem core requires delay or sleep.  <a href="#a5d15e19beea7bc6ae8407543fd333bb9">More...</a><br/></td></tr>
<tr class="separator:a5d15e19beea7bc6ae8407543fd333bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0853b5aa779393103aec06655a8363"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#acf0853b5aa779393103aec06655a8363">reconfig_clkwiz</a> (u32 clk_reg0, u32 clk_reg1, u32 clk_reg2)</td></tr>
<tr class="memdesc:acf0853b5aa779393103aec06655a8363"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets the default drp values into the mmcm this ensures that mmcm is back to original state  <a href="#acf0853b5aa779393103aec06655a8363">More...</a><br/></td></tr>
<tr class="separator:acf0853b5aa779393103aec06655a8363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a813500920ecee36360482a8078fcd5c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a813500920ecee36360482a8078fcd5c5">reset_clkwiz</a> ()</td></tr>
<tr class="memdesc:a813500920ecee36360482a8078fcd5c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will reset Tx side MMCM.  <a href="#a813500920ecee36360482a8078fcd5c5">More...</a><br/></td></tr>
<tr class="separator:a813500920ecee36360482a8078fcd5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1655bfb730d6bee7b7c1cd72638f745"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#af1655bfb730d6bee7b7c1cd72638f745">clk_wiz_locked</a> ()</td></tr>
<tr class="memdesc:af1655bfb730d6bee7b7c1cd72638f745"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will check MMCM lock status This MMCM output will be used for Tx side video CLK.  <a href="#af1655bfb730d6bee7b7c1cd72638f745">More...</a><br/></td></tr>
<tr class="separator:af1655bfb730d6bee7b7c1cd72638f745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87878b159735f42a419a35fa296606da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a87878b159735f42a419a35fa296606da">start_tx</a> (u8 line_rate, u8 lane_count, XVidC_VideoMode res_table, u8 bpc, u8 pat, u8 pat_update)</td></tr>
<tr class="memdesc:a87878b159735f42a419a35fa296606da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is for Tx only mode This function will start outputing internal video patern image Setup GT, DP, patern and generator.  <a href="#a87878b159735f42a419a35fa296606da">More...</a><br/></td></tr>
<tr class="separator:a87878b159735f42a419a35fa296606da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83b1170da398be3c53b87955c0a5b6a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a83b1170da398be3c53b87955c0a5b6a3">VideoFMC_Init</a> (void)</td></tr>
<tr class="memdesc:a83b1170da398be3c53b87955c0a5b6a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change.  <a href="#a83b1170da398be3c53b87955c0a5b6a3">More...</a><br/></td></tr>
<tr class="separator:a83b1170da398be3c53b87955c0a5b6a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd925d2fdf6aa67430a4a6f8dac3e646"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#acd925d2fdf6aa67430a4a6f8dac3e646">video_change_detect</a> (u32 *count_track, u32 *rxMsamisc0_track, u32 *bpc_track, u32 *recv_clk_freq_track, float *recv_frame_clk_track, u32 *recv_frame_clk_int_track, int *track_count)</td></tr>
<tr class="memdesc:acd925d2fdf6aa67430a4a6f8dac3e646"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change.  <a href="#acd925d2fdf6aa67430a4a6f8dac3e646">More...</a><br/></td></tr>
<tr class="separator:acd925d2fdf6aa67430a4a6f8dac3e646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6fa9db142e2e6b2872b64789b97551"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a0d6fa9db142e2e6b2872b64789b97551">detect_rx_video_and_startTx</a> (int *track_count1)</td></tr>
<tr class="memdesc:a0d6fa9db142e2e6b2872b64789b97551"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function detects incoming video and find out video parameters Based on the parameters, set up Tx and VDMA, then start Tx output.  <a href="#a0d6fa9db142e2e6b2872b64789b97551">More...</a><br/></td></tr>
<tr class="separator:a0d6fa9db142e2e6b2872b64789b97551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adac5f2cdc61511609847ab58554d635a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#adac5f2cdc61511609847ab58554d635a">switch_to_Tx_only</a> (int *track_switch, u8 *pwr_dwn_x)</td></tr>
<tr class="memdesc:adac5f2cdc61511609847ab58554d635a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will be used when no incoming video at pass-through mode If no video, switching to internal patern generator.  <a href="#adac5f2cdc61511609847ab58554d635a">More...</a><br/></td></tr>
<tr class="separator:adac5f2cdc61511609847ab58554d635a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0a1dce20baa6103b48f0bf9fe44cde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a0f0a1dce20baa6103b48f0bf9fe44cde">sink_power_cycle</a> (u32 power_down_time)</td></tr>
<tr class="memdesc:a0f0a1dce20baa6103b48f0bf9fe44cde"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will send power down and power up command over AUX.  <a href="#a0f0a1dce20baa6103b48f0bf9fe44cde">More...</a><br/></td></tr>
<tr class="separator:a0f0a1dce20baa6103b48f0bf9fe44cde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbbbb90b2f7ea876d4b492c7ca63712c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#acbbbb90b2f7ea876d4b492c7ca63712c">update_edid</a> ()</td></tr>
<tr class="memdesc:acbbbb90b2f7ea876d4b492c7ca63712c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will update and overwrite EDID color depth 10BPC will be changed to 8BPC due to design limitation.  <a href="#acbbbb90b2f7ea876d4b492c7ca63712c">More...</a><br/></td></tr>
<tr class="separator:acbbbb90b2f7ea876d4b492c7ca63712c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56361447f4b2f2b7e4c28bd94e142116"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a56361447f4b2f2b7e4c28bd94e142116">resetIp</a> ()</td></tr>
<tr class="memdesc:a56361447f4b2f2b7e4c28bd94e142116"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function toggles HW reset line for all IP's.  <a href="#a56361447f4b2f2b7e4c28bd94e142116">More...</a><br/></td></tr>
<tr class="separator:a56361447f4b2f2b7e4c28bd94e142116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5261c0e9a724d7ccdcf46f15f1c2c2e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a5261c0e9a724d7ccdcf46f15f1c2c2e6">DpRxSs_InfoPacketHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a5261c0e9a724d7ccdcf46f15f1c2c2e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Info Packet Handling.  <a href="#a5261c0e9a724d7ccdcf46f15f1c2c2e6">More...</a><br/></td></tr>
<tr class="separator:a5261c0e9a724d7ccdcf46f15f1c2c2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fce4aaa5fae17e664cd573bef9c2be0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a5fce4aaa5fae17e664cd573bef9c2be0">DpRxSs_ExtPacketHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a5fce4aaa5fae17e664cd573bef9c2be0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Generic Packet Handling of 32-Bytes payload.  <a href="#a5fce4aaa5fae17e664cd573bef9c2be0">More...</a><br/></td></tr>
<tr class="separator:a5fce4aaa5fae17e664cd573bef9c2be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a199e36a60274e8ebc2a321abf6bcb2b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a199e36a60274e8ebc2a321abf6bcb2b8">Print_InfoPkt</a> ()</td></tr>
<tr class="memdesc:a199e36a60274e8ebc2a321abf6bcb2b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Info Packet Handling.  <a href="#a199e36a60274e8ebc2a321abf6bcb2b8">More...</a><br/></td></tr>
<tr class="separator:a199e36a60274e8ebc2a321abf6bcb2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b27aa5d150120cd4f5b26b14aa6b6af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a5b27aa5d150120cd4f5b26b14aa6b6af">Print_ExtPkt</a> ()</td></tr>
<tr class="memdesc:a5b27aa5d150120cd4f5b26b14aa6b6af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Ext Packet Handling.  <a href="#a5b27aa5d150120cd4f5b26b14aa6b6af">More...</a><br/></td></tr>
<tr class="separator:a5b27aa5d150120cd4f5b26b14aa6b6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88f0129928e83c4b26f158d806c7e3bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a88f0129928e83c4b26f158d806c7e3bb">DpRxSs_AccessLinkQualHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a88f0129928e83c4b26f158d806c7e3bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Access link qual request.  <a href="#a88f0129928e83c4b26f158d806c7e3bb">More...</a><br/></td></tr>
<tr class="separator:a88f0129928e83c4b26f158d806c7e3bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a7e1872b93baf4572e9a5bd71b0daed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a7a7e1872b93baf4572e9a5bd71b0daed">DpRxSs_AccessErrorCounterHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a7a7e1872b93baf4572e9a5bd71b0daed"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Access prbs error count.  <a href="#a7a7e1872b93baf4572e9a5bd71b0daed">More...</a><br/></td></tr>
<tr class="separator:a7a7e1872b93baf4572e9a5bd71b0daed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab705b88ffccba236871be621549ff82d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#ab705b88ffccba236871be621549ff82d">DpRxSs_CRCTestEventHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:ab705b88ffccba236871be621549ff82d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the callback function for Test CRC Event request.  <a href="#ab705b88ffccba236871be621549ff82d">More...</a><br/></td></tr>
<tr class="separator:ab705b88ffccba236871be621549ff82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f08b7f747aa871c3bf0347e7a97a014"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#a4f08b7f747aa871c3bf0347e7a97a014">get_LineRate</a> (void)</td></tr>
<tr class="memdesc:a4f08b7f747aa871c3bf0347e7a97a014"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns current line rate.  <a href="#a4f08b7f747aa871c3bf0347e7a97a014">More...</a><br/></td></tr>
<tr class="separator:a4f08b7f747aa871c3bf0347e7a97a014"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ab0fb3d1ea8d00f1033f476917741a776"><td class="memItemLeft" align="right" valign="top">lane_link_rate_struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdptxss__kcu105__dp14_8c.html#ab0fb3d1ea8d00f1033f476917741a776">lane_link_table</a> []</td></tr>
<tr class="separator:ab0fb3d1ea8d00f1033f476917741a776"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="af1655bfb730d6bee7b7c1cd72638f745"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void clk_wiz_locked </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will check MMCM lock status This MMCM output will be used for Tx side video CLK. </p>
<p>This function to check MMCM lock status.</p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a0d6fa9db142e2e6b2872b64789b97551"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void detect_rx_video_and_startTx </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>track_count1</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function detects incoming video and find out video parameters Based on the parameters, set up Tx and VDMA, then start Tx output. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="xvid__pat__gen_8h.html#a6e5b492b075584802d8e448341ad463c">Vpg_StreamSrcConfigure()</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#aae950e5381749a4972645f73cfa8c478">Vpg_VidgenSetUserPattern()</a>, <a class="el" href="group__dptxss.html#ga2d3af2f5793e806f2e63a39d1055568c">XDpTxSs_Reset()</a>, and <a class="el" href="group__dptxss.html#gaf70f2f11d0e48e80c92673f3e208fc23">XDpTxSs_Stop()</a>.</p>

</div>
</div>
<a class="anchor" id="a5d15e19beea7bc6ae8407543fd333bb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpPt_CustomWaitUs </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>MicroSeconds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is called when DisplayPort TX Subsystem core requires delay or sleep. </p>
<p>This function use h/w timer to count specific Microseconds.</p>
<p>It provides timer with predefined amount of loop iterations.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDp instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use the XDpTxSs_SetUserTimerHandler driver function to set this function as the handler custom delay/sleep. </dd></dl>

</div>
</div>
<a class="anchor" id="a447f6616df8f90d9d99ca9f8ff9d3f9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpPt_HpdEventHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function takes care HPD event. </p>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#af834b5959f0311b1c88078b11c5c07bf">sink_power_cycle()</a>, and <a class="el" href="group__dptxss.html#ga84de784579ceabd123fdf1136dde0c7d">XDpTxSs_IsConnected()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e50f6016fe9f36c15696a53f9cbf5fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpPt_HpdPulseHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function takes care HPD pulse interrupt. </p>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>.</p>

</div>
</div>
<a class="anchor" id="a52482b484f3223853225073ee4446d1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpPt_LinkrateChgHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets link line rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">@return</td><td>None.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xdptxss__zcu102__tx_8h.html#a4f08b7f747aa871c3bf0347e7a97a014">get_LineRate()</a>, and <a class="el" href="xdptxss__zcu102__tx_8h.html#a677a29cae75ee8a62aba28151fbdd327">PHY_Configuration_Tx()</a>.</p>

</div>
</div>
<a class="anchor" id="a890c2e771e74249226516be4a096a2cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DpPt_SetupIntrSystem </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is sets up Interrupt system and start it. </p>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__dptxss.html#ga829a4aa9071cbd2fd3903ccf98e4d02b">XDpTxSs_DpIntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a7e1872b93baf4572e9a5bd71b0daed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpRxSs_AccessErrorCounterHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Access prbs error count. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a88f0129928e83c4b26f158d806c7e3bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpRxSs_AccessLinkQualHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Access link qual request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group___video_f_m_c.html#gab075b41308ffcbf01f58a95728665e06">I2C_MCDP6000_ADDR</a>.</p>

</div>
</div>
<a class="anchor" id="ab705b88ffccba236871be621549ff82d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpRxSs_CRCTestEventHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Test CRC Event request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a5fce4aaa5fae17e664cd573bef9c2be0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpRxSs_ExtPacketHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Generic Packet Handling of 32-Bytes payload. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a5261c0e9a724d7ccdcf46f15f1c2c2e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DpRxSs_InfoPacketHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Info Packet Handling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a4f08b7f747aa871c3bf0347e7a97a014"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 get_LineRate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns current line rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None.</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>.</p>

</div>
</div>
<a class="anchor" id="a40dd23eb6e5ea766a4f13761eebbd773"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void hpd_con </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_tx_ss.html" title="The DisplayPort TX Subsystem driver instance data. ">XDpTxSs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use the XDpTxSs_SetCallback driver function to set this function as the handler for HPD event. </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="dppt_8h.html#acbbbb90b2f7ea876d4b492c7ca63712c">update_edid()</a>, <a class="el" href="group__dptxss.html#ga47d0bbf83c92e4f29846002480bf57b0">XDpTxSs_SetLaneCount()</a>, and <a class="el" href="group__dptxss.html#ga6525a2e8e00c2f836e500241e0d45a6f">XDpTxSs_SetLinkRate()</a>.</p>

</div>
</div>
<a class="anchor" id="ac521dd8412dd53d968e0cbe056d7dbb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void hpd_pulse_con </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_tx_ss.html" title="The DisplayPort TX Subsystem driver instance data. ">XDpTxSs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Use the XDpTxSs_SetCallback driver function to set this function as the handler for HPD pulse. </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="group__dptxss.html#ga47d0bbf83c92e4f29846002480bf57b0">XDpTxSs_SetLaneCount()</a>, and <a class="el" href="group__dptxss.html#ga6525a2e8e00c2f836e500241e0d45a6f">XDpTxSs_SetLinkRate()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b27aa5d150120cd4f5b26b14aa6b6af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Print_ExtPkt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Ext Packet Handling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a199e36a60274e8ebc2a321abf6bcb2b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Print_InfoPkt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the callback function for Info Packet Handling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XDpRxSs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="acf0853b5aa779393103aec06655a8363"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void reconfig_clkwiz </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>clk_reg0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>clk_reg1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>clk_reg2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>sets the default drp values into the mmcm this ensures that mmcm is back to original state </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="dppt_8h.html#a5d15e19beea7bc6ae8407543fd333bb9">DpPt_CustomWaitUs()</a>.</p>

</div>
</div>
<a class="anchor" id="a813500920ecee36360482a8078fcd5c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void reset_clkwiz </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will reset Tx side MMCM. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a56361447f4b2f2b7e4c28bd94e142116"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resetIp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function toggles HW reset line for all IP's. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a0f0a1dce20baa6103b48f0bf9fe44cde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sink_power_cycle </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>power_down_time</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will send power down and power up command over AUX. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="dppt_8h.html#a5d15e19beea7bc6ae8407543fd333bb9">DpPt_CustomWaitUs()</a>, and <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>.</p>

</div>
</div>
<a class="anchor" id="a87878b159735f42a419a35fa296606da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void start_tx </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>line_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>lane_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVidC_VideoMode&#160;</td>
          <td class="paramname"><em>res_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>bpc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>pat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>pat_update</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This is for Tx only mode This function will start outputing internal video patern image Setup GT, DP, patern and generator. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="dppt_8h.html#af1655bfb730d6bee7b7c1cd72638f745">clk_wiz_locked()</a>, <a class="el" href="dppt_8h.html#a5d15e19beea7bc6ae8407543fd333bb9">DpPt_CustomWaitUs()</a>, <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="struct_x_dp_tx_ss___usr_opt.html#a592b9288cac79421f5aba71c924ad115">XDpTxSs_UsrOpt::NumOfStreams</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#af834b5959f0311b1c88078b11c5c07bf">sink_power_cycle()</a>, <a class="el" href="struct_x_dp_tx_ss.html#a1dccdffc912017829be08ef808b5923f">XDpTxSs::UsrOpt</a>, <a class="el" href="xvid__pat__gen_8h.html#a6e5b492b075584802d8e448341ad463c">Vpg_StreamSrcConfigure()</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#aae950e5381749a4972645f73cfa8c478">Vpg_VidgenSetUserPattern()</a>, <a class="el" href="struct_x_dp_tx_ss___usr_opt.html#a212975289ac5ab6ddd4974c5d236c8f9">XDpTxSs_UsrOpt::VtcAdjustBs</a>, <a class="el" href="struct_x_dp_tx_ss.html#add09119ff74df49fec0c006814c86da9">XDpTxSs::VtcPtr</a>, <a class="el" href="group__dptxss.html#ga50fc785403847b8c3932a2213553e28d">XDpTxSs_CheckLinkStatus()</a>, <a class="el" href="group__dptxss.html#ga8edde5017977263b22afd3abb4ad6a10">XDpTxSs_SetBpc()</a>, <a class="el" href="group__dptxss.html#ga47d0bbf83c92e4f29846002480bf57b0">XDpTxSs_SetLaneCount()</a>, <a class="el" href="group__dptxss.html#ga6525a2e8e00c2f836e500241e0d45a6f">XDpTxSs_SetLinkRate()</a>, <a class="el" href="group__dptxss.html#gac94df5d299e1a088c159a2be61840680">XDpTxSs_SetVidMode()</a>, and <a class="el" href="xdptxss__vtc_8c.html#ab2e0f13f1f5cbd8904c67cc63f2df32d">XDpTxSs_VtcSetup()</a>.</p>

</div>
</div>
<a class="anchor" id="adac5f2cdc61511609847ab58554d635a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void switch_to_Tx_only </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>track_switch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>pwr_dwn_x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will be used when no incoming video at pass-through mode If no video, switching to internal patern generator. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#a677a29cae75ee8a62aba28151fbdd327">PHY_Configuration_Tx()</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#af834b5959f0311b1c88078b11c5c07bf">sink_power_cycle()</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#a940bd70f2323c6575857991066c366ce">start_tx()</a>, <a class="el" href="xvid__pat__gen_8h.html#a6e5b492b075584802d8e448341ad463c">Vpg_StreamSrcConfigure()</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#aae950e5381749a4972645f73cfa8c478">Vpg_VidgenSetUserPattern()</a>, <a class="el" href="group__dptxss.html#ga2d3af2f5793e806f2e63a39d1055568c">XDpTxSs_Reset()</a>, and <a class="el" href="group__dptxss.html#gaf70f2f11d0e48e80c92673f3e208fc23">XDpTxSs_Stop()</a>.</p>

</div>
</div>
<a class="anchor" id="acbbbb90b2f7ea876d4b492c7ca63712c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void update_edid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will update and overwrite EDID color depth 10BPC will be changed to 8BPC due to design limitation. </p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>Referenced by <a class="el" href="xdptxss__kcu105__dp14_8c.html#a40dd23eb6e5ea766a4f13761eebbd773">hpd_con()</a>.</p>

</div>
</div>
<a class="anchor" id="acd925d2fdf6aa67430a4a6f8dac3e646"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void video_change_detect </td>
          <td>(</td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>count_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>rxMsamisc0_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>bpc_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>recv_clk_freq_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>recv_frame_clk_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>recv_frame_clk_int_track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>track_count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change. </p>
<p>Application needs to know if it changed and need to detect new parameter. Based on the parameter, re-set and re-start VDAM and Tx</p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_dp_tx_ss.html#a5191770fa4cf23ff0d1ed4c9c367af94">XDpTxSs::DpPtr</a>, <a class="el" href="xdptxss__zcu102__tx_8h.html#aae950e5381749a4972645f73cfa8c478">Vpg_VidgenSetUserPattern()</a>, and <a class="el" href="group__dptxss.html#gaf70f2f11d0e48e80c92673f3e208fc23">XDpTxSs_Stop()</a>.</p>

</div>
</div>
<a class="anchor" id="a83b1170da398be3c53b87955c0a5b6a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int VideoFMC_Init </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change. </p>
<p>Application needs to know if it changed and need to detect new parameter. Based on the parameter, re-set and re-start VDAM and Tx</p>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="group___video_f_m_c.html#gaf00f400af9574a116f5d50997152cfba">I2C_IDT8N49_ADDR</a>, <a class="el" href="group___video_f_m_c.html#ga57222e901113b502f13494add3c4de91">I2C_LMK03318_ADDR</a>, <a class="el" href="group___video_f_m_c.html#ga9e3c02ccaf71eeda39e2524f2fb02a41">I2C_MUX_ADDR</a>, <a class="el" href="dppt_8h.html#a624cc22e5b6956b5f86d03d84c501966">I2C_Scan()</a>, <a class="el" href="group___video_f_m_c.html#ga183b83e0a3cd48b9fcafcbced07db03c">I2C_VFMCEXP_0_ADDR</a>, <a class="el" href="group___video_f_m_c.html#ga3533962d24b154c228d21d6fb051451d">I2C_VFMCEXP_1_ADDR</a>, <a class="el" href="group___i_d_t__8_t49_n24x.html#ga8682f371519c86ef2e8880298dd12e54">IDT_8T49N24x_Init()</a>, and <a class="el" href="group___t_i___l_m_k03318.html#gad23a875ad2640e133b3c60b9b2614854">TI_LMK03318_PowerDown()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ab0fb3d1ea8d00f1033f476917741a776"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">lane_link_rate_struct lane_link_table[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line">{</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_1, XDP_RX_OVER_LINK_BW_SET_162GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_2, XDP_RX_OVER_LINK_BW_SET_162GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_4, XDP_RX_OVER_LINK_BW_SET_162GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_1, XDP_RX_OVER_LINK_BW_SET_270GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_2, XDP_RX_OVER_LINK_BW_SET_270GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_4, XDP_RX_OVER_LINK_BW_SET_270GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_1, XDP_RX_OVER_LINK_BW_SET_540GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_2, XDP_RX_OVER_LINK_BW_SET_540GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_4, XDP_RX_OVER_LINK_BW_SET_540GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_1, XDP_RX_OVER_LINK_BW_SET_810GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_2, XDP_RX_OVER_LINK_BW_SET_810GBPS},</div>
<div class="line">        {XDP_RX_OVER_LANE_COUNT_SET_4, XDP_RX_OVER_LINK_BW_SET_810GBPS},</div>
<div class="line"></div>
<div class="line">}</div>
</div><!-- fragment --><pre>
MODIFICATION HISTORY:</pre><pre>Ver  Who Date     Changes
</p>
<hr/>
<p>
1.00 KI  07/13/17 Initial release.</pre><pre></pre> 
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
